home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / Balloons.p < prev    next >
Text File  |  1996-05-01  |  11KB  |  296 lines

  1. {
  2.      File:        Balloons.p
  3.  
  4.      Contains:    Balloon Help Package Interfaces.
  5.  
  6.      Version:    Technology:    Copland
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Balloons;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __BALLOONS__}
  28. {$SETC __BALLOONS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC BalloonsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __MENUS__}
  41. {$I Menus.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __APPLEEVENTS__}
  44. {$I AppleEvents.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __TEXTSERVICES__}
  47. {$I TextServices.p}
  48. {$ENDC}
  49. {$IFC UNDEFINED __TEXTEDIT__}
  50. {$I TextEdit.p}
  51. {$ENDC}
  52. {$IFC UNDEFINED __ERRORS__}
  53. {$I Errors.p}
  54. {$ENDC}
  55. {$IFC UNDEFINED __COACHMARKS__}
  56. {$I CoachMarks.p}
  57. {$ENDC}
  58. {$IFC UNDEFINED __HIOBJECTTYPES__}
  59. {$I HIObjectTypes.p}
  60. {$ENDC}
  61.  
  62. {$PUSH}
  63. {$ALIGN MAC68K}
  64. {$LibExport+}
  65.  
  66. {  Cool for both System 7 and 8 }
  67. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  68.  
  69. CONST
  70.     kTopLeftTipPointsLeftVariant = 0;
  71.     kTopLeftTipPointsUpVariant    = 1;
  72.     kTopRightTipPointsUpVariant    = 2;
  73.     kTopRightTipPointsRightVariant = 3;
  74.     kBottomRightTipPointsRightVariant = 4;
  75.     kBottomRightTipPointsDownVariant = 5;
  76.     kBottomLeftTipPointsDownVariant = 6;
  77.     kBottomLeftTipPointsLeftVariant = 7;
  78.     kBalloonVariantCount        = 8;
  79.  
  80.  
  81. TYPE
  82.     BalloonVariant                        = SInt16;
  83. {  * remove the currently onscreen balloon, if any }
  84. FUNCTION HMRemoveBalloon: OSErr;
  85.     {$IFC NOT GENERATINGCFM}
  86.     INLINE $303C, $0002, $A830;
  87.     {$ENDC}
  88. {$ENDC}
  89. {  * Old API-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- }
  90. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  91.  
  92. CONST
  93.     hmBalloonHelpVersion        = $0002;                        {  The real version of the Help Manager  }
  94.     kHMHelpMenuID                = -16490;                        {  Resource ID and menu ID of help menu  }
  95.     kHMAboutHelpItem            = 1;                            {  help menu item number of About Balloon Help...  }
  96.     kHMShowBalloonsItem            = 3;                            {  help menu item number of Show/Hide Balloons  }
  97.     kHMHelpID                    = -5696;                        {  ID of various Help Mgr package resources (in Pack14 range)  }
  98.     kBalloonWDEFID                = 126;                            {  Resource ID of the WDEF proc used in standard balloons  }
  99.                                                                 {  Dialog item template type constant  }
  100.     helpItem                    = 1;                            {  key value in DITL template that corresponds to the help item  }
  101.                                                                 {  Options for Help Manager resources in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources  }
  102.     hmDefaultOptions            = 0;                            {  default options for help manager resources  }
  103.     hmUseSubID                    = 1;                            {  treat resID's in resources as subID's of driver base ID (for Desk Accessories)  }
  104.     hmAbsoluteCoords            = 2;                            {  ignore window port origin and treat rectangles as absolute coords (local to window)  }
  105.  
  106.     hmSaveBitsNoWindow            = 4;                            {  don't create a window, just blast bits on screen. No update event is generated  }
  107.     hmSaveBitsWindow            = 8;                            {  create a window, but restore bits behind window when window goes away & generate update event  }
  108.     hmMatchInTitle                = 16;                            {  for hwin resources, match string anywhere in window title string  }
  109.                                                                 {  Constants for Help Types in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources  }
  110.     kHMStringItem                = 1;                            {  pstring used in resource  }
  111.     kHMPictItem                    = 2;                            {  'PICT' ResID used in resource  }
  112.     kHMStringResItem            = 3;                            {  'STR#' ResID & index used in resource  }
  113.     kHMTEResItem                = 6;                            {  Styled Text Edit ResID used in resource ('TEXT' & 'styl')  }
  114.     kHMSTRResItem                = 7;                            {  'STR ' ResID used in resource  }
  115.     kHMSkipItem                    = 256;                            {  don't display a balloon  }
  116.     kHMCompareItem                = 512;                            {  Compare pstring in menu item w/ PString in resource item ('hmnu' only)  }
  117.     kHMNamedResourceItem        = 1024;                            {  Use pstring in menu item to get 'STR#', 'PICT', or 'STR ' resource ('hmnu' only)  }
  118.     kHMTrackCntlItem            = 2048;                            {  Reserved  }
  119.                                                                 {  Constants for hmmHelpType's when filling out HMMessageRecord  }
  120.     khmmString                    = 1;                            {  help message contains a PString  }
  121.     khmmPict                    = 2;                            {  help message contains a resource ID to a 'PICT' resource  }
  122.     khmmStringRes                = 3;                            {  help message contains a res ID & index to a 'STR#' resource  }
  123.     khmmTEHandle                = 4;                            {  help message contains a Text Edit handle  }
  124.     khmmPictHandle                = 5;                            {  help message contains a Picture handle  }
  125.     khmmTERes                    = 6;                            {  help message contains a res ID to 'TEXT' & 'styl' resources  }
  126.     khmmSTRRes                    = 7;                            {  help message contains a res ID to a 'STR ' resource  }
  127.     kHMEnabledItem                = 0;                            {  item is enabled, but not checked or control value = 0  }
  128.  
  129.                                                                 {  ResTypes for Styled TE Handles in Resources  }
  130.     kHMTETextResType            = 'TEXT';                        {  Resource Type of text data for styled TE record w/o style info  }
  131.     kHMTEStyleResType            = 'styl';                        {  Resource Type of style information for styled TE record  }
  132.  
  133.     kHMDisabledItem                = 1;                            {  item is disabled, grayed in menus or disabled in dialogs  }
  134.     kHMCheckedItem                = 2;                            {  item is enabled, and checked or control value = 1  }
  135.     kHMOtherItem                = 3;                            {  item is enabled, and control value > 1  }
  136.                                                                 {  Method parameters to pass to HMShowBalloon  }
  137.     kHMRegularWindow            = 0;                            {  Create a regular window floating above all windows  }
  138.     kHMSaveBitsNoWindow            = 1;                            {  Just save the bits and draw (for MDEF calls)  }
  139.     kHMSaveBitsWindow            = 2;                            {  Regular window, save bits behind, AND generate update event  }
  140.  
  141.                                                                 {  Resource Types for whichType parameter used when extracting 'hmnu' & 'hdlg' messages  }
  142.     kHMMenuResType                = 'hmnu';                        {  ResType of help resource for supporting menus  }
  143.     kHMDialogResType            = 'hdlg';                        {  ResType of help resource for supporting dialogs  }
  144.     kHMWindListResType            = 'hwin';                        {  ResType of help resource for supporting windows  }
  145.     kHMRectListResType            = 'hrct';                        {  ResType of help resource for rectangles in windows  }
  146.     kHMOverrideResType            = 'hovr';                        {  ResType of help resource for overriding system balloons  }
  147.     kHMFinderApplResType        = 'hfdr';                        {  ResType of help resource for custom balloon in Finder  }
  148.  
  149.  
  150. TYPE
  151.     HMStringResTypePtr = ^HMStringResType;
  152.     HMStringResType = RECORD
  153.         hmmResID:                INTEGER;
  154.         hmmIndex:                INTEGER;
  155.     END;
  156.  
  157.     HMMessageRecordPtr = ^HMMessageRecord;
  158.     HMMessageRecord = RECORD
  159.         hmmHelpType:            SInt16;
  160.         CASE INTEGER OF
  161.         0: (
  162.             hmmString:            Str255;
  163.             );
  164.         1: (
  165.             hmmPict:            SInt16;
  166.             );
  167.         2: (
  168.             hmmTEHandle:        TEHandle;
  169.             );
  170.         3: (
  171.             hmmStringRes:        HMStringResType;
  172.             );
  173.         4: (
  174.             hmmPictRes:            SInt16;
  175.             );
  176.         5: (
  177.             hmmPictHandle:        PicHandle;
  178.             );
  179.         6: (
  180.             hmmTERes:            SInt16;
  181.             );
  182.         7: (
  183.             hmmSTRRes:            SInt16;
  184.             );
  185.     END;
  186.  
  187.     HMMessageRecPtr                        = ^HMMessageRecord;
  188.     TipFunctionProcPtr = ProcPtr;  { FUNCTION TipFunction(tip: Point; structure: RgnHandle; VAR r: Rect; VAR balloonVariant: BalloonVariant): OSErr; }
  189.  
  190.     TipFunctionUPP = UniversalProcPtr;
  191.  
  192. CONST
  193.     uppTipFunctionProcInfo = $00003FE0;
  194.  
  195. FUNCTION NewTipFunctionProc(userRoutine: TipFunctionProcPtr): TipFunctionUPP;
  196.     {$IFC NOT GENERATINGCFM }
  197.     INLINE $2E9F;
  198.     {$ENDC}
  199.  
  200. FUNCTION CallTipFunctionProc(tip: Point; structure: RgnHandle; VAR r: Rect; VAR balloonVariant: BalloonVariant; userRoutine: TipFunctionUPP): OSErr;
  201.     {$IFC NOT GENERATINGCFM}
  202.     INLINE $205F, $4E90;
  203.     {$ENDC}
  204. {   Public Interfaces   }
  205. FUNCTION HMGetHelpMenuHandle(VAR mh: MenuRef): OSErr;
  206.     {$IFC NOT GENERATINGCFM}
  207.     INLINE $303C, $0200, $A830;
  208.     {$ENDC}
  209. FUNCTION HMShowBalloon({CONST}VAR aHelpMsg: HMMessageRecord; tip: Point; alternateRect: RectPtr; tipProc: TipFunctionUPP; theProc: SInt16; balloonVariant: BalloonVariant; method: SInt16): OSErr;
  210.     {$IFC NOT GENERATINGCFM}
  211.     INLINE $303C, $0B01, $A830;
  212.     {$ENDC}
  213. FUNCTION HMShowMenuBalloon(itemNum: SInt16; itemMenuID: SInt16; itemFlags: SInt32; itemReserved: SInt32; tip: Point; alternateRect: RectPtr; tipProc: TipFunctionUPP; theProc: SInt16; balloonVariant: BalloonVariant): OSErr;
  214.     {$IFC NOT GENERATINGCFM}
  215.     INLINE $303C, $0E05, $A830;
  216.     {$ENDC}
  217. FUNCTION HMGetIndHelpMsg(whichType: ResType; whichResID: SInt16; whichMsg: SInt16; whichState: SInt16; VAR options: UInt32; VAR tip: Point; VAR altRect: Rect; VAR theProc: SInt16; VAR balloonVariant: BalloonVariant; VAR aHelpMsg: HMMessageRecord; VAR count: SInt16): OSErr;
  218.     {$IFC NOT GENERATINGCFM}
  219.     INLINE $303C, $1306, $A830;
  220.     {$ENDC}
  221. FUNCTION HMIsBalloon: BOOLEAN;
  222.     {$IFC NOT GENERATINGCFM}
  223.     INLINE $303C, $0007, $A830;
  224.     {$ENDC}
  225. FUNCTION HMGetBalloons: BOOLEAN;
  226.     {$IFC NOT GENERATINGCFM}
  227.     INLINE $303C, $0003, $A830;
  228.     {$ENDC}
  229. FUNCTION HMSetBalloons(flag: BOOLEAN): OSErr;
  230.     {$IFC NOT GENERATINGCFM}
  231.     INLINE $303C, $0104, $A830;
  232.     {$ENDC}
  233. FUNCTION HMSetFont(font: SInt16): OSErr;
  234.     {$IFC NOT GENERATINGCFM}
  235.     INLINE $303C, $0108, $A830;
  236.     {$ENDC}
  237. FUNCTION HMSetFontSize(fontSize: UInt16): OSErr;
  238.     {$IFC NOT GENERATINGCFM}
  239.     INLINE $303C, $0109, $A830;
  240.     {$ENDC}
  241. FUNCTION HMGetFont(VAR font: SInt16): OSErr;
  242.     {$IFC NOT GENERATINGCFM}
  243.     INLINE $303C, $020A, $A830;
  244.     {$ENDC}
  245. FUNCTION HMGetFontSize(VAR fontSize: UInt16): OSErr;
  246.     {$IFC NOT GENERATINGCFM}
  247.     INLINE $303C, $020B, $A830;
  248.     {$ENDC}
  249. FUNCTION HMSetDialogResID(resID: SInt16): OSErr;
  250.     {$IFC NOT GENERATINGCFM}
  251.     INLINE $303C, $010C, $A830;
  252.     {$ENDC}
  253. FUNCTION HMSetMenuResID(menuID: SInt16; resID: SInt16): OSErr;
  254.     {$IFC NOT GENERATINGCFM}
  255.     INLINE $303C, $020D, $A830;
  256.     {$ENDC}
  257. FUNCTION HMBalloonRect({CONST}VAR aHelpMsg: HMMessageRecord; VAR coolRect: Rect): OSErr;
  258.     {$IFC NOT GENERATINGCFM}
  259.     INLINE $303C, $040E, $A830;
  260.     {$ENDC}
  261. FUNCTION HMBalloonPict({CONST}VAR aHelpMsg: HMMessageRecord; VAR coolPict: PicHandle): OSErr;
  262.     {$IFC NOT GENERATINGCFM}
  263.     INLINE $303C, $040F, $A830;
  264.     {$ENDC}
  265. FUNCTION HMScanTemplateItems(whichID: SInt16; whichResFile: SInt16; whichType: ResType): OSErr;
  266.     {$IFC NOT GENERATINGCFM}
  267.     INLINE $303C, $0410, $A830;
  268.     {$ENDC}
  269. FUNCTION HMExtractHelpMsg(whichType: ResType; whichResID: SInt16; whichMsg: SInt16; whichState: SInt16; VAR aHelpMsg: HMMessageRecord): OSErr;
  270.     {$IFC NOT GENERATINGCFM}
  271.     INLINE $303C, $0711, $A830;
  272.     {$ENDC}
  273. FUNCTION HMGetDialogResID(VAR resID: SInt16): OSErr;
  274.     {$IFC NOT GENERATINGCFM}
  275.     INLINE $303C, $0213, $A830;
  276.     {$ENDC}
  277. FUNCTION HMGetMenuResID(menuID: SInt16; VAR resID: SInt16): OSErr;
  278.     {$IFC NOT GENERATINGCFM}
  279.     INLINE $303C, $0314, $A830;
  280.     {$ENDC}
  281. FUNCTION HMGetBalloonWindow(VAR window: WindowRef): OSErr;
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $303C, $0215, $A830;
  284.     {$ENDC}
  285. {$ENDC}
  286. {$ALIGN RESET}
  287. {$POP}
  288.  
  289. {$SETC UsingIncludes := BalloonsIncludes}
  290.  
  291. {$ENDC} {__BALLOONS__}
  292.  
  293. {$IFC NOT UsingIncludes}
  294.  END.
  295. {$ENDC}
  296.